Linux中定时删除指定日期和天数的log日志文件

您所在的位置:网站首页 latex 指定日期 Linux中定时删除指定日期和天数的log日志文件

Linux中定时删除指定日期和天数的log日志文件

#Linux中定时删除指定日期和天数的log日志文件| 来源: 网络整理| 查看: 265

不管是测试环境还是正式环境,由于我们运行的服务往往会产生大量的日志文件,如果忘记清理,容易造成磁盘空间不足,因此最好是利用 linux 自带的定时任务功能去定时清理日志.

1.创建 shell脚本,赋权限

vim clean_tomcatlog.sh chmod +x clean_tomcatlog.sh

2.编写脚本(可以对多个路径下的文件进行删除,只需将find一行复制改成相应要删除的路径即可)

find /data/jinhua/apache-tomcat-8.5.51/logs/gm-uums/ -mtime +0 -name "*.log.*" -exec rm -rf {} \; find /data/jinhua/apache-tomcat-8.5.51/logs/gm-uums/ -mtime +0 -name "*.log" -exec rm -rf {} \;

shell脚本说明:

find:Linux查找命令,用户查找指定条件的文件

/opt/rh/log/:需要进行清理的目标目录

-mtime:+10 :数字代表天数

-name "*.log.*":目标文件的类型,带有log的所有文件

-exec:固定写法

rm -rf:强制删除包括目录在内的文件

{} \;:固定写法,一对大括号+空格+\+;  

重点说说mtime参数: -mtime n 按照文件的更改时间来找文件,n为整数。

n 表示文件更改时间距离为n天 -n 表示文件更改时间距离在n天以内 +n 表示文件更改时间距离在n天以前 例:

-mtime 0 表示文件修改时间距离当前为0天的文件,即距离当前时间不到1天(24小时)以内的文件。 -mtime 1 表示文件修改时间距离当前为1天的文件,即距离当前时间1天(24小时-48小时)的文件。 -mtime+1 表示文件修改时间为大于1天的文件,即距离当前时间2天(48小时)之外的文件 -mtime -1 表示文件修改时间为小于1天的文件,即距离当前时间1天(24小时)之内的文件

3.测试脚本

./clean_tomcatlog.sh

若文件可以被删除,就说明脚本没问题

4.定时器

 查看定时器

crontab -l

编辑定时器

crontab -e

5.编辑定时任务(我设置的是每月1号0点执行)

0 0 1 * * /data/jinhua/shell/clean_tomcatlog.sh 分 时 日 月 周

M: 分钟(0-59)。每分钟用*或者 */1表示

H:小时(0-23)。(0表示0点)

D:天(1-31)。

m: 月(1-12)。

d: 一星期内的天(0~6,0为星期天)    

6.重启crontab 服务

service crond restart

7.查询定时任务

crontab -l

即可看到刚创建的定时任务,至此搞定!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3